package com.wei.czz.framework.annex.service;

import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.annex.AnnexFormVo;
import com.wei.czz.common.vo.annex.AnnexPreVo;
import com.wei.czz.framework.annex.entity.AnnexPreEntity;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2024-01-18 15:42:18
 * className: AnnexPreService
 * version: 1.0
 * description:
 */
public interface AnnexPreService {

    /**
     * 保存附件动态配置前置操作
     * @param annexPreVo 参数对象
     * @return 主键
     */
    Long saveAnnex(AnnexPreVo annexPreVo);

    /**
     * 复制附件动态配置前置操作
     * @param id 主键
     * @return 新数据主键
     */
    Long copyAnnexPre(Long id);

    /**
     * 分页获取附件动态配置前置操作
     * @param annexFormVo 参数对象
     * @return 附件动态配置前置分页数据
     */
    PageDto<AnnexPreEntity> getAnnexPrePageList(AnnexFormVo annexFormVo);

    /**
     * 获取附件动态配置前置操作
     * @param id 主键
     * @return 获取附件动态配置前置
     */
    AnnexPreEntity getAnnexPre(Long id);

    /**
     * 获取最新一个启用的附件动态配置前置操作
     * @param classify 分类
     * @return 附件动态配置前置对象
     */
    AnnexPreEntity getLastAnnexPre(Integer classify);

    /**
     * 启用附件动态配置前置操作
     * @param id 主键
     */
    void useAnnexPre(Long id);

    /**
     * 删除附件动态配置前置操作
     * @param idList 主键列表
     */
    void deleteAnnexPre(List<Long> idList);
}

